package com.dianxin.smartpark.service.vo.visitor;

import com.chinatelecom.response.common.BaseDO;
import com.dianxin.smartpark.service.validation.Delete;
import com.dianxin.smartpark.service.validation.Save;
import com.dianxin.smartpark.service.validation.Update;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;

public class SmartParkVisitorVO extends BaseDO implements Serializable {

    /**
     * 设备code
     */
    private String deviceCode;
    /**
     * 开门方式(0 人脸，1 门禁卡，2 二维码，3 密码 ,4 凭条)
     */
    private Integer openType;
    /**
     * 机构编码
     */
    private String orgCode;
    /**
     * 身份证照片
     */
    private String idPhoto;
    /**
     * 动态id
     */
    private String uid;
    /**
     * 租户id
     */
    private String tenantId;

    /**
     * 绑定卡号 用逗号分隔
     */
    private String cardNums;

    /**
     * 绑定车牌号 用逗号分隔
     */
    private String licensePlate;

    /**
     * 访客姓名
     */
    private String visitorName;

    /**
     * 访客电话
     */
    private String visitorPhoneNum;

    /**
     * 访客照片
     */
    private String visitorPhoto;

    /**
     * 访客特征值
     */
    private String characteristic;

    /**
     * 访客证件类型
     */
    private String visitorIdType;

    /**
     * 访客证件号
     */
    private String visitorIdNum;

    /**
     * 所属组织（工作公司）
     */
    private String visitorEmploy;

    /**
     * 随行人员
     */
    private String accompanyPerson;

    /**
     * 访问事由  字典code smartpark_visitor_accesscause
     */
    private String accessCause;

    /**
     * 携带的物品  字典code smartpark_visitor_whattobring
     */
    private String whatToBring;

    /**
     * 受访人姓名
     */
    @NotBlank(message = "受访人姓名不能为空", groups = {Save.class, Update.class})
    private String intervieweeName;

    /**
     * 受访人电话
     */
    @NotBlank(message = "受访人电话不能为空", groups = {Save.class, Update.class})
    private String intervieweePhoneNum;

    /**
     * 受访人组织
     */
    private String intervieweeEmploy;

    /**
     * 是否人脸授权
     */
    private Integer beAuthorization;

    /**
     * 是否门禁卡凭证授权
     */
    private Integer beAccessCard;

    /**
     * 是否车牌凭证授权
     */
    private Integer beAccessCar;

    /**
     * 门禁卡号
     */
    private String accessCardNum;

    /**
     * 是否二维码授权
     */
    private Integer beQrCode;

    /**
     * 0不限 1自定义
     */
    private Integer accessDateType;

    /**
     * 0不限 1自定义
     */
    private Integer accessTimeType;

    /**
     * 授权开始日期
     */
    private Date accessStartDate;

    /**
     * 授权结束日期
     */
    private Date accessEndDate;

    /**
     * 数据来源
     */
    private String sourceSystem;

    /**
     * 访问状态 0未到访  1访问中  2访问结束  3已取消
     */
    private Integer status;

    /**
     * 相似度
     */
    private Integer similar;

    /**
     * smart_park_visitor
     */
    private static final long serialVersionUID = 1L;

    /**
     * 租户id
     * @return tenant_id 租户id
     */
    public String getTenantId() {
        return tenantId;
    }

    /**
     * 租户id
     * @param tenantId 租户id
     */
    public void setTenantId(String tenantId) {
        this.tenantId = tenantId == null ? null : tenantId.trim();
    }

    /**
     * 访客姓名
     * @return visitor_name 访客姓名
     */
    public String getVisitorName() {
        return visitorName;
    }

    /**
     * 访客姓名
     * @param visitorName 访客姓名
     */
    public void setVisitorName(String visitorName) {
        this.visitorName = visitorName == null ? null : visitorName.trim();
    }

    /**
     * 访客电话
     * @return visitor_phone_num 访客电话
     */
    public String getVisitorPhoneNum() {
        return visitorPhoneNum;
    }

    /**
     * 访客电话
     * @param visitorPhoneNum 访客电话
     */
    public void setVisitorPhoneNum(String visitorPhoneNum) {
        this.visitorPhoneNum = visitorPhoneNum == null ? null : visitorPhoneNum.trim();
    }

    /**
     * 访客照片
     * @return visitor_photo 访客照片
     */
    public String getVisitorPhoto() {
        return visitorPhoto;
    }

    /**
     * 访客照片
     * @param visitorPhoto 访客照片
     */
    public void setVisitorPhoto(String visitorPhoto) {
        this.visitorPhoto = visitorPhoto == null ? null : visitorPhoto.trim();
    }

    /**
     * 访客证件类型
     * @return visitor_id_type 访客证件类型
     */
    public String getVisitorIdType() {
        return visitorIdType;
    }

    /**
     * 访客证件类型
     * @param visitorIdType 访客证件类型
     */
    public void setVisitorIdType(String visitorIdType) {
        this.visitorIdType = visitorIdType == null ? null : visitorIdType.trim();
    }

    /**
     * 访客证件号
     * @return visitor_id_num 访客证件号
     */
    public String getVisitorIdNum() {
        return visitorIdNum;
    }

    /**
     * 访客证件号
     * @param visitorIdNum 访客证件号
     */
    public void setVisitorIdNum(String visitorIdNum) {
        this.visitorIdNum = visitorIdNum == null ? null : visitorIdNum.trim();
    }

    /**
     * 所属组织（工作公司）
     * @return visitor_employ 所属组织（工作公司）
     */
    public String getVisitorEmploy() {
        return visitorEmploy;
    }

    /**
     * 所属组织（工作公司）
     * @param visitorEmploy 所属组织（工作公司）
     */
    public void setVisitorEmploy(String visitorEmploy) {
        this.visitorEmploy = visitorEmploy == null ? null : visitorEmploy.trim();
    }

    /**
     * 随行人员
     * @return accompany_person 随行人员
     */
    public String getAccompanyPerson() {
        return accompanyPerson;
    }

    /**
     * 随行人员
     * @param accompanyPerson 随行人员
     */
    public void setAccompanyPerson(String accompanyPerson) {
        this.accompanyPerson = accompanyPerson == null ? null : accompanyPerson.trim();
    }

    /**
     * 访问事由
     * @return access_cause 访问事由
     */
    public String getAccessCause() {
        return accessCause;
    }

    /**
     * 访问事由
     * @param accessCause 访问事由
     */
    public void setAccessCause(String accessCause) {
        this.accessCause = accessCause == null ? null : accessCause.trim();
    }

    /**
     * 携带的物品
     * @return what_to_bring 携带的物品
     */
    public String getWhatToBring() {
        return whatToBring;
    }

    /**
     * 携带的物品
     * @param whatToBring 携带的物品
     */
    public void setWhatToBring(String whatToBring) {
        this.whatToBring = whatToBring == null ? null : whatToBring.trim();
    }

    /**
     * 受访人姓名
     * @return interviewee_name 受访人姓名
     */
    public String getIntervieweeName() {
        return intervieweeName;
    }

    /**
     * 受访人姓名
     * @param intervieweeName 受访人姓名
     */
    public void setIntervieweeName(String intervieweeName) {
        this.intervieweeName = intervieweeName == null ? null : intervieweeName.trim();
    }

    /**
     * 受访人电话
     * @return interviewee_phone_num 受访人电话
     */
    public String getIntervieweePhoneNum() {
        return intervieweePhoneNum;
    }

    /**
     * 受访人电话
     * @param intervieweePhoneNum 受访人电话
     */
    public void setIntervieweePhoneNum(String intervieweePhoneNum) {
        this.intervieweePhoneNum = intervieweePhoneNum == null ? null : intervieweePhoneNum.trim();
    }

    /**
     * 受访人组织
     * @return interviewee_employ 受访人组织
     */
    public String getIntervieweeEmploy() {
        return intervieweeEmploy;
    }

    /**
     * 受访人组织
     * @param intervieweeEmploy 受访人组织
     */
    public void setIntervieweeEmploy(String intervieweeEmploy) {
        this.intervieweeEmploy = intervieweeEmploy == null ? null : intervieweeEmploy.trim();
    }

    /**
     * 是否人脸授权
     * @return be_authorization 是否人脸授权
     */
    public Integer getBeAuthorization() {
        return beAuthorization;
    }

    /**
     * 是否人脸授权
     * @param beAuthorization 是否人脸授权
     */
    public void setBeAuthorization(Integer beAuthorization) {
        this.beAuthorization = beAuthorization;
    }

    /**
     * 是否门禁卡凭证授权
     * @return be_access_card 是否门禁卡凭证授权
     */
    public Integer getBeAccessCard() {
        return beAccessCard;
    }

    /**
     * 是否门禁卡凭证授权
     * @param beAccessCard 是否门禁卡凭证授权
     */
    public void setBeAccessCard(Integer beAccessCard) {
        this.beAccessCard = beAccessCard;
    }

    /**
     * 门禁卡号
     * @return access_card_num 门禁卡号
     */
    public String getAccessCardNum() {
        return accessCardNum;
    }

    /**
     * 门禁卡号
     * @param accessCardNum 门禁卡号
     */
    public void setAccessCardNum(String accessCardNum) {
        this.accessCardNum = accessCardNum == null ? null : accessCardNum.trim();
    }

    /**
     * 是否二维码授权
     * @return be_QR_code 是否二维码授权
     */
    public Integer getBeQrCode() {
        return beQrCode;
    }

    /**
     * 是否二维码授权
     * @param beQrCode 是否二维码授权
     */
    public void setBeQrCode(Integer beQrCode) {
        this.beQrCode = beQrCode;
    }

    /**
     * 0不限 1自定义
     * @return access_date_type 0不限 1自定义
     */
    public Integer getAccessDateType() {
        return accessDateType;
    }

    /**
     * 0不限 1自定义
     * @param accessDateType 0不限 1自定义
     */
    public void setAccessDateType(Integer accessDateType) {
        this.accessDateType = accessDateType;
    }

    /**
     * 0不限 1自定义
     * @return access_time_type 0不限 1自定义
     */
    public Integer getAccessTimeType() {
        return accessTimeType;
    }

    /**
     * 0不限 1自定义
     * @param accessTimeType 0不限 1自定义
     */
    public void setAccessTimeType(Integer accessTimeType) {
        this.accessTimeType = accessTimeType;
    }

    /**
     * 授权开始日期
     * @return access_start_date 授权开始日期
     */
    public Date getAccessStartDate() {
        return accessStartDate;
    }

    /**
     * 授权开始日期
     * @param accessStartDate 授权开始日期
     */
    public void setAccessStartDate(Date accessStartDate) {
        this.accessStartDate = accessStartDate;
    }

    /**
     * 授权结束日期
     * @return access_end_date 授权结束日期
     */
    public Date getAccessEndDate() {
        return accessEndDate;
    }

    /**
     * 授权结束日期
     * @param accessEndDate 授权结束日期
     */
    public void setAccessEndDate(Date accessEndDate) {
        this.accessEndDate = accessEndDate;
    }

    /**
     * 数据来源
     * @return source_system 数据来源
     */
    public String getSourceSystem() {
        return sourceSystem;
    }

    /**
     * 数据来源
     * @param sourceSystem 数据来源
     */
    public void setSourceSystem(String sourceSystem) {
        this.sourceSystem = sourceSystem == null ? null : sourceSystem.trim();
    }

    /**
     * 访问状态
     * @return status 访问状态
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 访问状态
     * @param status 访问状态
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getUid() {
        return uid;
    }

    public void setUid(String uid) {
        this.uid = uid;
    }

    public String getCardNums() {
        return cardNums;
    }

    public void setCardNums(String cardNums) {
        this.cardNums = cardNums;
    }

    public String getLicensePlate() {
        return licensePlate;
    }

    public void setLicensePlate(String licensePlate) {
        this.licensePlate = licensePlate;
    }

    public String getCharacteristic() {
        return characteristic;
    }

    public void setCharacteristic(String characteristic) {
        this.characteristic = characteristic;
    }

    public Integer getBeAccessCar() {
        return beAccessCar;
    }

    public void setBeAccessCar(Integer beAccessCar) {
        this.beAccessCar = beAccessCar;
    }

    public Integer getSimilar() {
        return similar;
    }

    public void setSimilar(Integer similar) {
        this.similar = similar;
    }

    public String getIdPhoto() {
        return idPhoto;
    }

    public void setIdPhoto(String idPhoto) {
        this.idPhoto = idPhoto;
    }

    public Integer getOpenType() {
        return openType;
    }

    public void setOpenType(Integer openType) {
        this.openType = openType;
    }

    public String getOrgCode() {
        return orgCode;
    }

    public void setOrgCode(String orgCode) {
        this.orgCode = orgCode;
    }

    public String getDeviceCode() {
        return deviceCode;
    }

    public void setDeviceCode(String deviceCode) {
        this.deviceCode = deviceCode;
    }
}